/*-+-*****************************************************************************
 Copyright (C) 2009-2012 Oceanside Software Corporation (R)
 Dallas, Texas

 Author       : Jason T. Brower
 Purpose      : This file is part of a point-of-sale software package
                originally written for Table-Service Restaurants.
              
 Date         : July 8th of 2012
              
 History      : The application that this software file belongs to was 
                written over a 3-Year period.  The first version was written
                in C# .Net 3.5 using Windows Forms.  Being new to .Net at
                the time, I soon learned of Windows Presentation Foundation,
                liked the graphics capabilities and databinding so I
                migrated to WPF.  When the .Net 4.0 framework was released
                the application was migrated from 3.5 to 4.0. Now today,
                .Net 4.5 RC is out and I was already in process of migrating
                before I made this public.
                
Excuse Me     : Please excuse the coding style, it is not representative of
                my typical work.  During the three years I was under a very
                tight budget, constantly running out of funding and was 
                working 18 hour days hyped up on 5-Hour Energy.  The 
                design is not textbook.  It is monolythic because of
                previous issues I will not get into.  There are few comments
                in the code and the ones that are there may be incorrect.
                
What it is not: This is not the exact version that I took through PA-DSS 2.0
                nor is it the exact version running at my customer sites.
                I removed some details for security purposes including some
                encryption algorithms.  The reporting was removed because
                I was including a third party library that cannot be 
                published with this Open Source.
                
What it is    : This application has been running at high volume restaraunts
                for over a year.  It never freezes, crashes or does anything
                unexpected.  So long as it is built, installed and configured
                correctly, it is a strong system that we can all enhance.

Contact       : Please note that I can no longer work for free.  However, you
                can reach me at information@oceansidesw.com.                                                      

*********************************************************************************/

namespace Oceanside
{
    public class Error
    {
        /// <summary>
        /// This enum likely does not make sense anymore. For the most part it does, but
        /// I removed it as I was working on a newer version of the code.
        /// </summary>
        public enum EType
        {
            E_PLACEHOLDER,
            E_SILENTERROR,

            ///USB
            E_USB_INITIALIZATION,

            /// <summary>
            /// All occur inside of App.cs
            /// </summary>
            E_APP_FINALIZE_STARTUP,
            E_APP_REUPDATED_DB_CONTEXT,
            E_APP_EXIT_SYSTEM_CONFIG_WINDOW_TASK,
            E_APP_EXIT_SYSTEM_WINDOW,
            E_APP_SWITCH_TO_WINDOW_WITH_LOCK,
            E_APP_SWITCH_TO_WINDOW,
            E_APP_PERIODIC_TASK_TIMER_TICK,
            E_APP_SCREEN_SAVER_EXCEPTION,
            E_APP_MAIN_UNCAUGHT_EXCEPTION,

            /// <summary>
            /// ALll occur inside of the bindings for the close check
            /// window.
            /// </summary>
            E_CCBIND_CALL_BOUND_FUNC,
            E_CCBIND_PREPARE_FOR_SCREEN_CHANGE,
            E_CCBIND_BUTTON_CANCEL_CC_PAY_CLICK,
            E_CCBIND_CLOSE_TABLE_BUTTON_CLICKED,
            E_CCBIND_CLOSE_TABLE_COMPLETE_CB,
            E_CCBIND_CLOSE_TABLE_TASK,
            E_CCBIND_COMP_PERCENT_OR_AMOUNT_WIN_CLOSE_CB,
            E_CCBIND_SPLIT_CHECK_HOW_MANY_CB,
            E_CCBIND_CUST_TICKET_SEL_CHANGED,
            E_CCBIND_SCROLL_PAY_RIGHT,
            E_CCBIND_SCROLL_PAY_LEFT,
            E_CCBIND_BUTTON_CHECK_CLICK,
            E_CCBIND_CASH_PAY_CALLBACK,
            E_CCBIND_SCROLL_CHECK_RIGHT,
            E_CCBIND_SCROLL_CHECK_LEFT,
            E_CCBIND_CALL_CASHPAY,
            E_CCBIND_CALL_COMPAMOUNT,
            E_CCBIND_CALL_COMPPAYMENT,
            E_CCBIND_CALL_COMPPRODUCT,
            E_CCBIND_CALL_DELETE_TABLE,
            E_CCBIND_CALL_EQUALPAY,
            E_CCBIND_CALL_EXIT,
            E_CCBIND_CALL_PRINTCCRECEIPT,
            E_CCBIND_CALL_PRINTITEMRECEIPT,
            E_CCBIND_CALL_PRINTTOTALRECEIPT,
            E_CCBIND_CALL_SCROLLCHECKDOWN,
            E_CCBIND_CALL_SCROLLCHECKUP,
            E_CCBIND_CALL_SHOWKEYBOARD,
            E_CCBIND_CALL_POP_USERS_DRAWER,

            /// <summary>
            /// XAML Converters.
            /// </summary>
            E_CVT_BOOL_TO_VIS,
            E_CVT_CHECK_BACK,
            E_CVT_DCIM_TO_DOLL,
            E_CVT_CBITEM_TO_INT,
            E_CVT_DCIM_TO_PERCENT,
            E_CVT_LST_VIEW_LINE_ITEM,
            E_CVT_PAYMNT_INDX,
            E_CVT_MARRIAGE,
            E_CVT_PAYMENT_STATUS,
            E_CVT_PAYMENT_GRATUITY,
            E_CVT_PAYMENT_TOT_AMOUNT,
            E_CVT_CHECK_TOT_AMOUNT,
            E_CVT_CHECK_BALANCE_AMOUNT,
            E_CVT_CHECK_BAL_OR_CASHDUE_LBL,
            E_CVT_KIOSKS_MENU_GROUP_CHOICES,
            E_CVT_PRODUCT_FOREGROUND,
            E_CVT_SEX,
            E_CVT_TABLE_BCKGND,
            E_CVT_USERNAME_ID,

            /// <summary>
            /// All occur inside the bindings for the control panel window.
            /// </summary>
            E_CPBIND_CALL_BOUND_FUNC,
            E_CPBIND_PREPARE_FOR_SCREEN_CHANGE,
            E_CPBIND_PREPARE_FOR_SCREEN_LEAVE,
            E_CPBIND_BLINK_TABLES_ON_HOLD_TIMER_TICK,
            E_CPBIND_OPEN_TABLES_SELECTION_CHANGED,
            E_CPBIND_CANCEL_BUTTON_MOUSE_DOWN,
            E_CPBIND_DOWN_ARROW_MOUSE_DOWN,
            E_CPBIND_UP_ARROW_MOUSE_DOWN,

            /// <summary>
            /// These errors are used around the program.  They are based on legacy code
            /// and just got slapped into one file.
            /// </summary>
            E_GEN_POS_CARD_LOGIN_SWIPED,
            E_GEN_PAYMENT_CARD_SWIPED,
            E_GEN_CREDIT_CARD_GATEWAY_RESPONSE_DELEGATE,
            E_GEN_PRENOTIFY_INPUT,
            E_GEN_KILL_MAGDATA,


            /// <summary>
            /// These errors occur in the list view page or the page that displays most of the financial
            /// functions such as employee checkout.
            /// </summary>
            E_LVBIND_CALL_BOUND_FUNC,
            E_LVBBIND_USER_CHECKOUT_DB,
            E_LVBBIND_CANCEL_BUTTON_MOUSE_DOWN,
            E_LVBBIND_PREPARE_FOR_SCREEN_CHANGE,
            E_LVBBIND_SCROLL_UP,
            E_LVBBIND_SCROLL_DOWN,
            E_LVBBIND_INVOKE_STOP_STORYBOARD,
            E_LVBBIND_INVOKE_BIND_LIST,
            E_LVBBIND_EMULATE_CAPTURE_ALL,
            E_LVBBIND_UPDATE_PAYMENTS_LISTVIEW,
            E_LVBBIND_MONITOR_RUNNING_THREAD_TASK,
            E_LVBBIND_ABORT_FILTER_THREAD,
            E_LVBBIND_FILTER_AUTHS,
            E_LVBBIND_FILTER_ALL,
            E_LVBBIND_FILTER_CAPTURE,
            E_LVBBIND_FILTER_VOID,
            E_LVBIND_CREATE_DIFF_DATA_AND_CAPT,
            E_LVBIND_CALL_CAPTURE_ALL,
            E_LVBIND_CALL_CAPTURE_SINGLE,
            E_LVBIND_CALL_CASHIER_CHECKOUT,
            E_LVBIND_CALL_CREDIT_CARD_TIPS,
            E_LVBIND_CALL_RETURN,
            E_LVBIND_CALL_UPDATE_PAYMENT_STATUS,
            E_LVBIND_CALL_SEARCH_TRANSACTION,

            /// <summary>
            /// Errors that can occur on the new table window used when not in quick service or
            /// bartender only mode.
            /// </summary>
            E_NTBIND_CLEAR_PRESSED,
            E_NTBIND_NUMERIC_KEY_PRESSED,
            E_NTBIND_PREPARE_FOR_SCREEN_CHANGE,
            E_NTBIND_OK_KEY_PRESSED,
            E_NTBIND_CANCEL_BUTTON_MOUSE_DOWN,


            /// <summary>
            /// Errors that can occur on the place an order page.
            /// </summary>
            E_POBIND_CALL_BOUND_FUNC,
            E_POBIND_REPEAT_PROD_CLICK,
            E_POBIND_SUBMENU_BUTTON_CLICK,
            E_POBIND_MAIN_MENU_SCROLL_DOWN,
            E_POBIND_SUB_MENU_SCROLL_UP,
            E_POBIND_SUB_MENU_SCROLL_DOWN,
            E_POBIND_SCROLL_SEAT_LEFT,
            E_POBIND_SCROLL_SEAT_RIGHT,
            E_POBIND_SEAT_BUTTON_CLICK,
            E_POBIND_MAIN_MENU_BUTTON_CLICKED,
            E_POBIND_MAIN_MENU_SCROLL_UP,
            E_POBIND_CUST_TICKET_SELECTION_CHANGED,
            E_POBIND_PREPARE_FOR_SCREEN_CHANGE,
            E_POBIND_MENU_CHANGED,
            E_POBIND_CALL_ASAPPET,
            E_POBIND_CALL_BARSEAT,
            E_POBIND_CALL_CLEAR,
            E_POBIND_CALL_CLONEPRODUCT,
            E_POBIND_CALL_CONTROLPANEL,
            E_POBIND_CALL_CUSTOMERNAME,
            E_POBIND_CALL_DELETE,
            E_POBIND_CALL_DELIVERY,
            E_POBIND_CALL_DONE,
            E_POBIND_CALL_DONTMAKE,
            E_POBIND_CALL_ENTERQUANTITY,
            E_POBIND_CALL_EXCPMODIFIY,
            E_POBIND_CALL_HOLD,
            E_POBIND_CALL_NEWSEAT,
            E_POBIND_CALL_NEWTABLE_PO,
            E_POBIND_CALL_PRINTBARSLIP,
            E_POBIND_CALL_SCROLLTICKETDWN,
            E_POBIND_CALL_SCROLLTICKETUP,
            E_POBIND_CALL_SPLITCHECK,
            E_POBIND_CALL_SPLITSEAT,
            E_POBIND_CALL_SUBMITORDER,
            E_POBIND_CALL_TAKEOUT,
            E_POBIND_CALL_SELL_NONMENU,
            E_POBIND_CALL_CLOSECHECK,

            /// <summary>
            /// Errors that can occur when trying to split the items on a seat
            /// or a check.
            /// </summary>
            E_SPLITBIND_CALL_BOUND_FUNC,
            E_SPLITBIND_SCROLL_SEAT_LEFT2,
            E_SPLITBIND_SCROLL_SEAT_LEFT1,
            E_SPLITBIND_SCROLL_SEAT_RIGHT2,
            E_SPLITBIND_SCROLL_SEAT_RIGHT1,
            E_SPLITBIND_SEAT_CLICK,
            E_SPLITBIND_SEAT_CLICK2,
            E_SPLITBIND_CANCEL_CLICK,
            E_SPLITBIND_SCROLL_TICKET_UP,
            E_SPLITBIND_SCROLL_TICKET_UP2,
            E_SPLITBIND_SCROLL_TICKET_DOWN,
            E_SPLITBIND_SCROLL_TICKET_DOWN2,
            E_SPLITBIND_NEW_SEAT,
            E_SPLITBIND_NEW_SEAT2,
            E_SPLITBIND_MOVE_ITEM_LEFT,
            E_SPLITBIND_MOVE_ITEM_RIGHT,
            E_SPLITBIND_LISTVIEW_SELECT_CHANGED,
            E_SPLITBIND_LISTVIEW_SELECT_CHANGED2,
            E_SPLITBIND_PREPARE_FOR_SCREEN_CHANGE,

            /// <summary>
            /// Errors that can occur on the time sheet page.
            /// </summary>
            E_TSBIND_CALL_BOUND_FUNC,
            E_TSBIND_EXIT_BUTTON_CLICK,
            E_TSBIND_ROLE_CLICK,
            E_TSBIND_CLOCKIN_CLICK,
            E_TSBIND_CLOCKOUT_CLICK,
            E_TSBIND_PREPARE_FOR_SCREEN_CHANGE,
            E_TSBIND_CLOCKOUT_CURRENT_USER,
            E_TSBIND_CALL_CLAIMDRAWER,
            E_TSBIND_CALL_CLAIMDRAWER2,
            E_TSBIND_CALL_PRINTLASTCHECKOUT,
            E_TSBIND_CALL_RELEASE_DRAWER,
            E_TSBIND_CALL_RELEASE_DRAWER2,
            E_TSBIND_CALL_SETPASSWORD,

            /// <summary>
            /// Pages for system configuration.
            /// </summary>
            E_PAGEINTERFACE_KEYBOARD_HIDDEN,
            E_PAGEFORMODGR_CHECK_FILTER,
            E_PAGEFORMODGR_UNCHECK_FILTER,
            E_PAGEFORMODGR_LISTVIEW_SELECTION_CHANGE,
            E_PAGEEXMODGR_LISTVIEW_SELECTION_CHANGE,
            E_PAGEEXMODGR_COMBOBOX_NAME_SELECTION_CHANGE,
            E_PAGEACTION_TB_COMPLETENAME_CHANGE,
            E_PAGEDATATOOLS_INTERP_COMMAND,
            E_PAGEINGREDIANTS_TB_COMPLETE_NAME_CHANGE,
            E_PAGELOGIN_LOGIN_ATTEMPT,
            E_PAGEMENUS_LISTVIEW_MODS_SEL_CHANGED,
            E_PAGEMENUS_COMBOBOX_NAME_SEL_CHANGED,
            E_PAGEMENUGROUPS_LISTVIEW_MODS_SEL_CHANGED,
            E_PAGEMENUGROUPS_COMBOBOX_NAME_SEL_CHANGED,
            E_PAGEPAYMENTS_COMBOBOX_GW_TYPE_SEL_CHANGE,
            E_PAGEPAYMENTS_KEYBOARD_SHOWING,
            E_PAGEPRODUCTGROUPPRINTER_COMBOBOX_NAME_SELECTION_CHANGED,
            E_PAGEPRODUCTGROUPPRINTER_LV_SELECTION_CHANGED,
            E_PAGEPRODUCTGROUPS_CB_NAME_SEL_CHANGED,
            E_PAGEPRODUCTGROUPS_RB_PROD_GROUPS_CHECKED,
            E_PAGEPRODUCTGROUPS_RB_EXCEPMODS_CHECKED,
            E_PAGEPRODUCTGROUPS_RB_PRICE_LEVELS_CHECKED,
            E_PAGEPRODUCTGROUPS_LV_MODS_SEL_CHANGED,
            E_PAGEPRODUCTGROUPS_TB_COMPLETE_NAME_TEXT_CHANGED,
            E_PAGEPRODUCTS_CB_NAME_SEL_CHANGED,
            E_PAGEPRODUCTS_LV_MODS_SEL_CHANGED,
            E_PAGEPRODUCTS_TB_COMPLETE_NAME_TEXT_CHANGED,
            E_PAGEROOTPASSWORD_NEXT_CLICKED,
            E_PAGESYSLOG_SCROLL_DOWN,
            E_PAGESYSLOG_SCROLL_UP,
            E_PAGESYSLOG_INVOKE_UPDATEVIEW,
            E_PAGEUSER_CBNAME_SEL_CHANGED,
            E_PAGEUSER_CB_BOH_UNCHECKED,
            E_PAGEUSER_CB_BOH_CHECKED,
            E_PAGEUSER_CB_KEYPAD_CHECKED,
            E_PAGEUSER_CB_KEYPAD_UNCHECKED,
            E_PAGEUSER_MALE_CLICK,
            E_PAGEUSER_FEMALE_CLICK,
            E_PAGEUSER_RB_SINGLE_CLICK,
            E_PAGEUSER_RB_MARRIED_CLICK,
            E_PAGEUSER_CB_NUM_DEPENDANTS_SEL_CHANGED,
            E_PAGE_USERROLES_CBNAME_SEL_CHANGED,
            E_SYSWINDOW_SCROLL_DOWN_CLICK,
            E_SYSWINDOW_SCROLL_UP_CLICK,
            E_SYSWINDOW_CANCEL_MOUSEDOWN,
            E_SYSWINDOW_CANCEL,
            E_SYSWINDOW_HIDE_KEYBOARD,
            E_SYSWINDOW_SHOW_KEYBOARD,
            E_SYSWINDOW_RESET_CALLBACK,
            E_SYSWINDOW_LOGIN_CALLBACK,
            E_SYSWINDOW_BOH_FUNC_BUTTON_CLICK,

            /// <summary>
            /// Misc
            /// </summary>
            E_CIRC_PROGRESS_BAR_START,
            E_CIRC_PROGRESS_BAR_STOP,
            E_POSWINDOW_SHOW_MESSAGE_THRDSAFE,
            E_POSWINDOW_CONVERT_INDX_TO_FUNC_NAME,
            E_SYSLOG_LOGENTRY,
            E_PTIMEPUNCH_ADD_TIMEPUNCH,
            E_SYNC_LISTEN_FOR_CLIENTS,
            E_SCREENSAVER_UPDATE_IMAGE_LOCATION,
            E_CALL_POP_DRAWER1,
            E_CALL_POP_DRAWER2,

            /// <summary>
            /// Splash Screen
            /// </summary>
            E_DISPATCHER_HELPER_EXITFRAMES,
            E_SPLASHER_UPDATE_STATUS,
            E_SPLASHER_TIMER_COMPLETED,
            E_SPLASHER_SET_SPLASHER_STATUS,

            /// <summary>
            /// CashMoneyBox
            /// </summary>
            E_CASHMONEY_OK_PRESSED,
            E_CASHMONEY_CLEAR_PRESSED,
            E_CASHMONEY_NUMERIC_PRESSED,
            E_CASHMONEY_MONEY_BUTTON_MOUSE_DOWN,

            /// <summary>
            /// CompPercentBox
            /// </summary>
            E_COMPPERCENT_OK_PRESSED,
            E_COMPPERCENT_CLEAR_PRESSED,
            E_COMPPERCENT_NUMERIC_PRESSED,
            E_COMPPERCENT_BUTTON_PERCENT,
            E_COMPPERCENT_MESSAGEBOX_CLOSING,

            /// <summary>
            /// Fixed Font Width Message Box
            /// </summary>
            E_FIXEDFONT_CLOSING,
            E_FIXEDFONT_OK_MOUSEDOWN,

            /// <summary>
            /// How many box
            /// </summary>
            E_HOWMANY_OK_PRESSED,
            E_HOWMANY_CLEAR_PRESSED,
            E_HOWMANY_NUMERIC_PRESSED,
            E_HOWMANY_CLOSING,

            /// <summary>
            /// Message Box
            /// </summary>
            E_MESSAGEBOX_OK_PRESSED,
            E_MESSAGEBOX_CLOSING,

            /// <summary>
            /// Network Print Options Gui Window
            /// </summary>
            E_NETPRINTOP_REDIRECT_MOUSEDOWN,
            E_NETPRINTOP_REQUEUE_MOUSEDOWN,
            E_NETPRINTOP_CLOSE_MOUSEDOWN,
            E_NETPRINTOP_CLOSING,

            /// <summary>
            /// Redirect Printer Output Message Box
            /// </summary>
            E_REDIRECT_PRINTER_CLOSE_MOUSEDOWN,
            E_REDIRECT_PRINTER_OK_MOUSEDOWN,
            E_REDIRECT_PRINTER_ARRW_LEFT_MOUSE_DWN,
            E_REDIRECT_PRINTER_ARRW_RIGHT_MOUSE_DWN,
            E_REDIRECT_PRINTER_CLOSING,

            /// <summary>
            /// String choices list box.
            /// </summary>
            E_SLIST_CLOSE_MOUSEDOWN,
            E_SLIST_OK_MOUSEDOWN,
            E_SLIST_ARRW_LEFT_MOUSE_DWN,
            E_SLIST_ARRW_RIGHT_MOUSE_DWN,
            E_SLIST_CLOSING,

            /// <summary>
            /// For the yes/no question box.
            /// </summary>
            E_YESNO_CLOSING,
            E_YESNO_YES_MOUSE_DOWN,
            E_YESNO_NO_MOUSE_DOWN,

            /// <summary>
            /// Yes not exit question box.
            /// </summary>
            E_YESNOEXIT_CLOSING,
            E_YESNOEXIT_CLOSE_MOUSEDOWN,
            E_YESNOEXIT_YES_MOUSEDOWN,
            E_YESNOEXIT_NO_MOUSEDOWN,

            /// <summary>
            /// Buttons
            /// </summary>
            E_BUTTON_120_65_MOUSEDWN,
            E_BUTTON_155_58_MOUSEDWN,
            E_BUTTON_120_65_EXIT_MOUSEDWN,
            E_BUTTON_164_62_MOUSEDWN,
            E_BUTTON_95_50_MOUSEDWN,
            E_BUTTON_95_50_FLTR_VIEW_MOUSEDWN,
            E_BUTTON_BOH_CONTENT_MOUSEDWN,
            E_BUTTON_BOH_CONTENT_MOUSEUP,
            E_BUTTON_BOH_CONTENT_MOUSELEAVE,
            E_BUTTON_BOH_HELP_MOUSEDWN,
            E_BUTTON_FLAT_MENU_BUTTON_155_58_MOUSEDWN,
            E_BUTTON_FLAT_MENU_BUTTON_155_58_MOUSELEAVE,
            E_BUTTON_FLAT_MENU_BUTTON_155_58_MOUSEUP,
            E_BUTTON_KEYBOARD_KEY_MOUSEDWN,
            E_BUTTON_KEYBOARD_KEY_MOUSEUP,
            E_BUTTON_KEYBOARD_KEY_MOUSELEAVE,
            E_BUTTON_MAIN_MENU_BTTN_155_58_MOUSEDWN,
            E_BUTTON_SEATBTTN_MOUSEDOWN,
            E_BUTTON_124_124_UP,
            E_BUTTON_124_124_DWN,
            E_BUTTON_124_124_LEAVE,
            E_BUTTON_124_124_PE_UP,
            E_BUTTON_124_124_PE_DWN,
            E_BUTTON_124_124_PE_LEAVE,
            E_BUTTON_155_158_UP,
            E_BUTTON_155_158_DWN,
            E_BUTTON_155_158_LEAVE,
            E_BUTTON_52_58_UP,
            E_BUTTON_52_58_DWN,
            E_BUTTON_52_58_LEAVE,
            E_BUTTON_95_50_UP,
            E_BUTTON_95_50_DWN,
            E_BUTTON_95_50_LEAVE,

            /// <summary>
            /// For the keypad in the payment engine.
            /// </summary>
            E_CC_KEYPAD_MOUSE_DWN,
            E_CC_KEYPAD_LOADED,
            E_CC_KEYPAD_CLOSED,

            /// <summary>
            /// For the payment module and to recognize credit cards.
            /// </summary>
            E_KEYBOARD_EVENT_KEYBOARD_LISTENER,
            E_KEYBOARD_EVENT_MSR_FRAME_READ_LOOP,

            /// <summary>
            /// Magnetic card processing.
            /// </summary>
            E_MAGCARD_SCANCODE_GUI,
            E_MAGCARD_MSR_SWIPE,
            E_MAGCARD_RETRY_INIT,
            E_MAGCARD_AUTH,
            E_MAGCARD_RETURN_BY_ID,
            E_MAGCARD_CAPTURE,
            E_MAGCARD_UNDO,
            E_MAGCARD_INIT,

            /// <summary>
            /// For the partial user page in the db library.
            /// </summary>
            E_PUSER_CLOCKOUT_USER,
            E_PUSER_DO_CHECKOUT_TASK,
            E_PSUER_GET_PAYMENTS_OBS_COLLECTION,

            /// <summary>
            /// Add Ons
            /// </summary>
            E_INVALID_HOSTNAME_FORMAT,
            E_HOST_NOT_DEFINED,
            E_NODAYPART,
            E_NOUSERS,
            E_NOSYSTEM_CONFIG,
            E_NO_MENUS,

            ///The printer service that runs on the print server.
            E_PS_CONSTRUCTOR,
            E_PS_ONSTART,
            E_PS_ONSTOP,
            E_PS_LISTEN_FOR_CLIENTS,
            E_PS_EMPTY_STREAM,
            E_PS_HANDLECLIENTCOM_GEN,
            E_PS_INVALID_FUNCTION,
            E_PS_PRINT_GEN_EXCEPTION,
            E_PS_FUNC_SEND_ACK,

            /// <summary>
            /// For the reports
            /// </summary>
            E_REPORT_ERROR,


            /// <summary>
            /// Printing spool errors/
            /// </summary>
            E_PRINTSPOOL_PRINT,
            E_PRINTSPOOL_THREAD_START_ERROR,
            E_PRINTSPOOL_OPEN_CASH_DRAWER,
            E_PRINTSPOOL_LOGIN_TO_SHARE
          
        }
    }
}
